package org.binglan.youziyuepai.service;

import org.apache.ibatis.annotations.Select;
import org.binglan.youziyuepai.entity.User;
import com.baomidou.mybatisplus.extension.service.IService;
import org.binglan.youziyuepai.vo.UserVo;

import java.util.List;

/**
 * <p>
 * 用户表 服务类
 * </p>
 *
 * @author sanjin
 * @since 2019-04-09
 */
public interface UserService extends IService<User> {

    /**
     * 通过 openid 查找用户
     * @param openid
     * @return
     */
    User queryUserByOpenid(String openid);

    /**
     * 保存用户
     * @param user
     * @return
     */
    User saveUser(User user);

    /**
     * 通过 id 查找 User
     * @param userId
     * @return
     */
    User queryUserById(String userId);


    /**
     * 通过id 查 UserVo
     */
    UserVo queryUserVoByUserId(String userId);

    /**
     * 通过id 查 UserVo
     */
    List<UserVo> queryUserVosByUserIds(List<String> userId);

    /**
     * 查询用户关注数量
     */
    long queryAttentionNumByUserId(String userId);


    /**
     * 查询用户粉丝数量
     */
    long queryFansNumByUserId(String userId);
}
